﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;


// Đại diện cho một Map riêng biệt. Mỗi map là một màn chơi, 
// có các thông tin được khai báo trong lớp này
namespace MyGames
{
    public enum Locations
    {
        BeastmenEncampment,
        PhodomHouse,
        WaysToDalli,
        OrgeMountain,
        OrgeDungeon,
        DalliVillage,
        RichardFarm,
        NathalieGarden,
        GolemMountain,
        ManadarasHidout,
        Swamp,
        BanditHidout
    }

    public struct MapData
    {
        public int Width;
        public Locations Location;
        public List<LayerInfo> Layers;
        public List<WaypointInfo> WayPoints;
        public List<ModelType> EnemyTypes;

        public MapData(int width, Locations location, List<LayerInfo> layers, List<WaypointInfo> waypoints, List<ModelType> types)
        {
            Width = width;
            Location = location;
            Layers = layers;
            WayPoints = waypoints;
            EnemyTypes = types;
        }
    }

    public struct LayerInfo
    {
        public string TexturePath;
        public bool Endless;
        public float Depth;
        public Vector2 Position;
        public Vector2 Speed;

        public LayerInfo(string texturePath, Vector2 position, Vector2 speed, bool endless, float deep)
        {
            this.TexturePath = texturePath;
            this.Position = position;
            this.Speed = speed;
            this.Endless = endless;
            this.Depth = deep;
        }
    }

    public struct WaypointInfo
    {
        public int XCoord;
        public Locations NextLocation;

        public WaypointInfo(int Xcoord, Locations nextLocation)
        {
            this.XCoord = Xcoord;
            this.NextLocation = nextLocation;
        }
    }
}
